From 4d803dc258b8d596d6a040077baf53892af466ed Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild2.aw" Date: Fri, 15 Dec 2006 10:59:33 -0700 Subject: [PATCH] [IA64] Use machine vector for global tlb purge Switch to using the platform vector for global tlb purges. In fact nothing should be calling ia64_global_tlb_purge() directly. Signed-off-by: Jes Sorensen --- xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c | 2 +- xen/arch/ia64/xen/vhpt.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c index 71bef9e9ab..ec7c45ef1e 100644 --- a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c +++ b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c @@ -173,7 +173,7 @@ sn2_global_tlb_purge(unsigned long start, int mymm = (mm == current->active_mm && mm == current->mm); #else // struct mm_struct *mm; - int mymm = 1; + int mymm = 0; #endif int use_cpu_ptcga; volatile unsigned long *ptc0, *ptc1; diff --git a/xen/arch/ia64/xen/vhpt.c b/xen/arch/ia64/xen/vhpt.c index 05382370cc..0ba1f93a9b 100644 --- a/xen/arch/ia64/xen/vhpt.c +++ b/xen/arch/ia64/xen/vhpt.c @@ -21,9 +21,6 @@ #include #include -/* Defined in tlb.c */ -extern void ia64_global_tlb_purge(u64 start, u64 end, u64 nbits); - extern long running_on_sim; DEFINE_PER_CPU (unsigned long, vhpt_paddr); @@ -364,7 +361,7 @@ void domain_flush_vtlb_range (struct domain *d, u64 vadr, u64 addr_range) // ptc.ga has release semantics. /* ptc.ga */ - ia64_global_tlb_purge(vadr,vadr+addr_range,PAGE_SHIFT); + platform_global_tlb_purge(vadr, vadr + addr_range, PAGE_SHIFT); perfc_incrc(domain_flush_vtlb_range); } @@ -442,7 +439,8 @@ __domain_flush_vtlb_track_entry(struct domain* d, perfc_incrc(domain_flush_vtlb_local); } else { /* ptc.ga has release semantics. */ - ia64_global_tlb_purge(vaddr, vaddr + PAGE_SIZE, PAGE_SHIFT); + platform_global_tlb_purge(vaddr, vaddr + PAGE_SIZE, + PAGE_SHIFT); perfc_incrc(domain_flush_vtlb_global); } -- 2.30.2